package com.zp.self.module.level_1_问道.I_Java基础.I_7_JDK8新功能.函数式编程;

import org.junit.Test;

import java.util.function.Consumer;


//接口描述：循环调用 3次 lambda,查看产生的类、对象
public class 消费型接口接口_测试 {
    @Test
    public void tesPredicate() {
        Consumer<String> consumer = (s) -> { System.out.println(s); };

        for (int i = 0; i < 3; i++) {
            create(i);//创建第几个
        }
    }

    public void create(int param){
        //使用 匿名内部类
        createMethodTest((s1) -> {
            //重点：【实现中,使用了外部变量 param,这时会产生新的对象】
            print(s1+param);
        });
    }

    private void createMethodTest(Consumer<String> consumer) {
        consumer.accept("赖恩.纳多.迪卡.普里奥");
        System.out.println(consumer);//打印传递过来的  匿名内部类对象
    }

    public void print(String param){
        System.out.println("打印创建的第几个角色："+param);
    }
}